package com.econvent.common.conn;

import com.econvent.common.conn.config.BaseConfig;
import com.econvent.common.conn.entity.BaseDataSourceProperty;

import javax.sql.DataSource;

public abstract class DataSourceBuilder {
    protected DataSource dataSource ;

    /**
     * 创建数据源
     *
     * @param baseDataSourceProperty 数据源属性
     *
     * @return 被创建的数据源
     */
    public abstract void buildDataSource(BaseDataSourceProperty baseDataSourceProperty);

    /**
     * 加载数据源的独特配置
     *
     * @param dataSourceConfig 数据源属性
     *
     * @return
     */
    public abstract void buildDataSourceConfig(BaseConfig dataSourceConfig);

    public DataSource build() {
        return dataSource ;
    }
}
